<!doctype html>
<meta charset="utf8">
<link rel="help" href="https://w3c.github.io/payment-request/#dom-paymentvalidationerrors-error">
<title>
  PaymentValidationErrors' `error` member
</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../payment-response/helpers.js"></script>
<script>
function retryShowsErrorMember(button) {
  button.disabled = true;
  promise_test(async t => {
    const { response } = await getPaymentRequestResponse();
    await response.retry({ error: "PASS" });
    await response.complete("success");
  }, button.textContent.trim());
}
</script>
<h2>
  Manual Test for PaymentValidationErrors's `error` member - Please run in order!
</h2>
<p>
  Click on each button in sequence from top to bottom without refreshing the page.
  Each button will bring up the Payment Request UI window.
</p>
<p>
  When presented with the payment sheet, use any card and select to "Pay".
  You will be asked to retry the payment and an error should be shown somewhere
  in the UI. The expected error string is described in each individual test.
  If you see the error, hit "Pay" again. If you don't see the error,
  abort the payment request by hitting "esc" - which means that particular test
  has failed.
</p>
<ol>
  <li>
    <button onclick="retryShowsErrorMember(this);">
      The payment sheet shows the error "PASS" somewhere in the UI.
    </button>
  </li>
  <li>
    <button onclick="done();">
      Done!
    </button>
  </li>
</ol>
<small>
  If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a>
  and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/META.yml">owners</a>.
</small>
